package cn.csc.module.shoppingCard.controller.admin.transaction.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 交易记录 Excel VO
 *
 * @author liuchuang
 */
@Data
public class CardTransactionExcelVO {

    @ExcelProperty("主键id")
    private String id;

    /**
     * 项目ID
     */
    @ExcelProperty("项目ID")
    private String projectId;

    @ExcelProperty("关联的卡ID")
    private String cardId;

    @ExcelProperty(value = "关联的卡号")
    private String cardNumber;

    @ExcelProperty("交易类型")
    private String txnType;

    @ExcelProperty("交易金额（正数表示收入，负数表示支出）")
    private BigDecimal amount;

    /**
     * 状态(0-创建，1-完成)
     */
    @ExcelProperty(value = "状态(0-创建，1-完成)")
    private Byte status;

    @ExcelProperty("关联的订单号")
    private String relatedOrder;

    /**
     * 关联的订单子项ID
     */
    @ExcelProperty(value = "关联的订单子项ID")
    private String relatedOrderItem;

    /**
     * 店铺名称
     */
    @ExcelProperty(value = "店铺名称")
    private String shopName;

    /**
     * 用户Id
     */
    @ExcelProperty(value = "用户Id")
    private String userId;

    /**
     * 产品名称
     */
    @ExcelProperty(value = "产品名称")
    private String spuName;

    /**
     * sku名称
     */
    @ExcelProperty(value = "sku名称")
    private String skuName;

    /**
     * 运费备注
     */
    @ExcelProperty(value = "运费备注")
    private String freightRemark;

    /**
     * 商品总金额
     */
    @ExcelProperty(value = "商品总金额")
    private BigDecimal spuTotalAmount;

    /**
     * 实付金额
     */
    @ExcelProperty(value = "实付金额")
    private BigDecimal spuActualAmount;

    /**
     * 购物卡支付金额
     */
    @ExcelProperty(value = "购物卡支付金额")
    private BigDecimal cardPayAmount;

    /**
     * 订单状态
     */
    @ExcelProperty(value = "订单状态")
    private String orderStatus;

    /**
     * 客户手机号
     */
    @ExcelProperty(value = "客户手机号")
    private String memberPhone;

    @ExcelProperty("交易时间")
    private LocalDateTime txnTime;

    @ExcelProperty("备注（如充值渠道、消费商户信息）")
    private String remark;

    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

}
